package com.duobaoyu.dby.supply.biz.client.product;

import com.duobaoyu.dby.saas.product.common.remote.dto.PlatformPriceCheckDTO;
import com.duobaoyu.dby.saas.product.common.remote.dto.SkuStockOrderNumDTO;
import com.duobaoyu.dby.supply.biz.client.product.bean.bo.PlatformPriceCheckBO;
import com.duobaoyu.dby.supply.biz.client.product.bean.bo.SkuInfoCheckBO;
import com.duobaoyu.dby.supply.common.biz.remote.dto.order.SubmitOrderDTO;

import java.util.List;

/**
 * 商品中心
 *
 * @author fengshaoyu
 * @version 1.0.0
 * @date 2023/10/7 13:47
 */
public interface ProductCenterApiClient {

	/**
	 * sku综合校验(上下架、商户价、步长、最低起购量、最大起购量）
	 *
	 * @param skuInfos       请求skuCode
	 * @param serverName     当前请求业务
	 * @param checkPriceFlag 价格检验标识,true:检验、false:不检验
	 * @return SkuInfoCheckBO 返回校验信息
	 */
	SkuInfoCheckBO skuInfoCheck(List<SubmitOrderDTO.SkuInfo> skuInfos, String serverName, Boolean checkPriceFlag);

	/**
	 * 批量下架商品
	 *
	 * @param skuCodes skuCode集合
	 */
	void offShelfProducts(List<String> skuCodes);

	/**
	 * 校验商品成本价以及商品状态
	 * @param platformPriceCheckList 商品信息
	 * @return PlatformPriceCheckBO PlatformPriceCheckBO
	 */
	PlatformPriceCheckBO checkPlatformPriceAndState(List<PlatformPriceCheckDTO> platformPriceCheckList);

	/**
	 * 修改销量
	 * @param skuStockOrderNumDTO 销量
	 */
	void batchOrderNumUpdate(List<SkuStockOrderNumDTO> skuStockOrderNumDTO);
}
